﻿using System;
namespace Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg {
    
    
    public partial class IsikTypeV4 : global::Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg.IIsikTypeV4 {
        
        private string @__tegevus;
        
        private string @__liik;
        
        private string @__roll;
        
        private System.DateTime? @__volitusteTahtaeg;
        
        private System.Decimal? @__sissemaksuSumma;
        
        private string @__sissemaksuValuuta;
        
        private System.Int32? @__sissemaksuLugeja;
        
        private System.Int32? @__sissemaksuNimetaja;
        
        private string @__eesnimi;
        
        private string @__nimi;
        
        private System.DateTime? @__synniaeg;
        
        private string @__kood;
        
        private string @__valiskood;
        
        private string @__valiskoodRiik;
        
        private global::Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg.IAadressTypeV4 @__aadress;
        
        private string @__residentsus;
        
        private string @__email;
        
        private string @__kontakt;
        
        public IsikTypeV4() {
        }
        
        /// <summary>
        /// All parameters
        /// </summary>
        public IsikTypeV4(
                    string @tegevus, 
                    string @liik, 
                    string @roll, 
                    System.DateTime? @volitusteTahtaeg, 
                    System.Decimal? @sissemaksuSumma, 
                    string @sissemaksuValuuta, 
                    System.Int32? @sissemaksuLugeja, 
                    System.Int32? @sissemaksuNimetaja, 
                    string @eesnimi, 
                    string @nimi, 
                    System.DateTime? @synniaeg, 
                    string @kood, 
                    string @valiskood, 
                    string @valiskoodRiik, 
                    global::Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg.IAadressTypeV4 @aadress, 
                    string @residentsus, 
                    string @email, 
                    string @kontakt) {
            this.@__tegevus = @tegevus;
            this.@__liik = @liik;
            this.@__roll = @roll;
            this.@__volitusteTahtaeg = @volitusteTahtaeg;
            this.@__sissemaksuSumma = @sissemaksuSumma;
            this.@__sissemaksuValuuta = @sissemaksuValuuta;
            this.@__sissemaksuLugeja = @sissemaksuLugeja;
            this.@__sissemaksuNimetaja = @sissemaksuNimetaja;
            this.@__eesnimi = @eesnimi;
            this.@__nimi = @nimi;
            this.@__synniaeg = @synniaeg;
            this.@__kood = @kood;
            this.@__valiskood = @valiskood;
            this.@__valiskoodRiik = @valiskoodRiik;
            this.@__aadress = @aadress;
            this.@__residentsus = @residentsus;
            this.@__email = @email;
            this.@__kontakt = @kontakt;
        }
        
        /// <summary>
        /// Required parameters
        /// </summary>
        public IsikTypeV4(string @tegevus, string @liik, string @roll, string @nimi) {
            this.@__tegevus = @tegevus;
            this.@__liik = @liik;
            this.@__roll = @roll;
            this.@__nimi = @nimi;
        }
        
        /// <summary>
        /// Copy Constructor
        /// </summary>
        protected IsikTypeV4(IIsikTypeV4 @isikTypeV4) {
            this.@__tegevus = @isikTypeV4.Tegevus;
            this.@__liik = @isikTypeV4.Liik;
            this.@__roll = @isikTypeV4.Roll;
            this.@__volitusteTahtaeg = @isikTypeV4.VolitusteTahtaeg;
            this.@__sissemaksuSumma = @isikTypeV4.SissemaksuSumma;
            this.@__sissemaksuValuuta = @isikTypeV4.SissemaksuValuuta;
            this.@__sissemaksuLugeja = @isikTypeV4.SissemaksuLugeja;
            this.@__sissemaksuNimetaja = @isikTypeV4.SissemaksuNimetaja;
            this.@__eesnimi = @isikTypeV4.Eesnimi;
            this.@__nimi = @isikTypeV4.Nimi;
            this.@__synniaeg = @isikTypeV4.Synniaeg;
            this.@__kood = @isikTypeV4.Kood;
            this.@__valiskood = @isikTypeV4.Valiskood;
            this.@__valiskoodRiik = @isikTypeV4.ValiskoodRiik;
            this.@__aadress = @isikTypeV4.Aadress;
            this.@__residentsus = @isikTypeV4.Residentsus;
            this.@__email = @isikTypeV4.Email;
            this.@__kontakt = @isikTypeV4.Kontakt;
        }
        
        public virtual string Tegevus {
            get {
                return this.@__tegevus;
            }
            set {
                this.@__tegevus = value;
            }
        }
        
        public virtual string Liik {
            get {
                return this.@__liik;
            }
            set {
                this.@__liik = value;
            }
        }
        
        public virtual string Roll {
            get {
                return this.@__roll;
            }
            set {
                this.@__roll = value;
            }
        }
        
        public virtual System.DateTime? VolitusteTahtaeg {
            get {
                return this.@__volitusteTahtaeg;
            }
            set {
                this.@__volitusteTahtaeg = value;
            }
        }
        
        public virtual System.Decimal? SissemaksuSumma {
            get {
                return this.@__sissemaksuSumma;
            }
            set {
                this.@__sissemaksuSumma = value;
            }
        }
        
        public virtual string SissemaksuValuuta {
            get {
                return this.@__sissemaksuValuuta;
            }
            set {
                this.@__sissemaksuValuuta = value;
            }
        }
        
        public virtual System.Int32? SissemaksuLugeja {
            get {
                return this.@__sissemaksuLugeja;
            }
            set {
                this.@__sissemaksuLugeja = value;
            }
        }
        
        public virtual System.Int32? SissemaksuNimetaja {
            get {
                return this.@__sissemaksuNimetaja;
            }
            set {
                this.@__sissemaksuNimetaja = value;
            }
        }
        
        public virtual string Eesnimi {
            get {
                return this.@__eesnimi;
            }
            set {
                this.@__eesnimi = value;
            }
        }
        
        public virtual string Nimi {
            get {
                return this.@__nimi;
            }
            set {
                this.@__nimi = value;
            }
        }
        
        public virtual System.DateTime? Synniaeg {
            get {
                return this.@__synniaeg;
            }
            set {
                this.@__synniaeg = value;
            }
        }
        
        public virtual string Kood {
            get {
                return this.@__kood;
            }
            set {
                this.@__kood = value;
            }
        }
        
        public virtual string Valiskood {
            get {
                return this.@__valiskood;
            }
            set {
                this.@__valiskood = value;
            }
        }
        
        public virtual string ValiskoodRiik {
            get {
                return this.@__valiskoodRiik;
            }
            set {
                this.@__valiskoodRiik = value;
            }
        }
        
        public virtual global::Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg.IAadressTypeV4 Aadress {
            get {
                return this.@__aadress;
            }
            set {
                this.@__aadress = value;
            }
        }
        
        public virtual string Residentsus {
            get {
                return this.@__residentsus;
            }
            set {
                this.@__residentsus = value;
            }
        }
        
        public virtual string Email {
            get {
                return this.@__email;
            }
            set {
                this.@__email = value;
            }
        }
        
        public virtual string Kontakt {
            get {
                return this.@__kontakt;
            }
            set {
                this.@__kontakt = value;
            }
        }
    }
}
